import java.awt.*;
import java.awt.event.*;
import javax.swing.*;

@SuppressWarnings("serial")
public class AWTButton extends JFrame implements ActionListener {
    JButton btok = new JButton("OK"); // 创建按钮btok并实例化
    JButton btcancel = new JButton("btcancel"); // 创建按钮btcancel并实例化
    JTextField tf = new JTextField(30); // 创建文本框，最多可输入30个字符

    public AWTButton() // 子类构造函数
    {
        super("一个事件处理的例子"); // 调用父类中默认的构造方法并进行实例化，放在子类构造方法中的首行
        Container c = getContentPane(); // 获得窗口的内容显示层
        c.setLayout(new FlowLayout()); // 设置显示层的布局方式
        c.add(btok); // 添加组件,通过容器c的add方法把组件加入到容器中
        c.add(btcancel);
        c.add(tf);
        btok.addActionListener(this); // 对按钮btok加监听器听此按钮的动作
        btcancel.addActionListener(this); // 调用事件源对象addActionListener,注册事件源对象的事件监听者
        setSize(400, 500);
        setVisible(true);
    }

    public static void main(String[] args) {
        new AWTButton();
    }

    public void actionPerformed(ActionEvent e) // 对两个按钮发生的动作进行处理
    {
        if (e.getSource() == btok)
            tf.setText("按下了OK按钮");
        if (e.getSource() == btcancel)
            tf.setText("按下了Cancel按钮");
    }
}
